home *** CD-ROM | disk | FTP | other *** search
/ Dynamic HTML Construction Kit / Dynamic HTML Construction Kit.iso / earthlink / nscomm / java40.jar / sun / awt / macos / MToolkit.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-11-03  |  6.2 KB  |  274 lines

  1. package sun.awt.macos;
  2.  
  3. import java.awt.AWTError;
  4. import java.awt.Button;
  5. import java.awt.Canvas;
  6. import java.awt.Checkbox;
  7. import java.awt.CheckboxMenuItem;
  8. import java.awt.Choice;
  9. import java.awt.Dialog;
  10. import java.awt.Dimension;
  11. import java.awt.FileDialog;
  12. import java.awt.Font;
  13. import java.awt.FontMetrics;
  14. import java.awt.Frame;
  15. import java.awt.Image;
  16. import java.awt.Label;
  17. import java.awt.List;
  18. import java.awt.Menu;
  19. import java.awt.MenuBar;
  20. import java.awt.MenuItem;
  21. import java.awt.Panel;
  22. import java.awt.Scrollbar;
  23. import java.awt.TextArea;
  24. import java.awt.TextField;
  25. import java.awt.Toolkit;
  26. import java.awt.Window;
  27. import java.awt.image.ColorModel;
  28. import java.awt.image.ImageObserver;
  29. import java.awt.image.ImageProducer;
  30. import java.awt.peer.ButtonPeer;
  31. import java.awt.peer.CanvasPeer;
  32. import java.awt.peer.CheckboxMenuItemPeer;
  33. import java.awt.peer.CheckboxPeer;
  34. import java.awt.peer.ChoicePeer;
  35. import java.awt.peer.DialogPeer;
  36. import java.awt.peer.FileDialogPeer;
  37. import java.awt.peer.FramePeer;
  38. import java.awt.peer.LabelPeer;
  39. import java.awt.peer.ListPeer;
  40. import java.awt.peer.MenuBarPeer;
  41. import java.awt.peer.MenuItemPeer;
  42. import java.awt.peer.MenuPeer;
  43. import java.awt.peer.PanelPeer;
  44. import java.awt.peer.ScrollbarPeer;
  45. import java.awt.peer.TextAreaPeer;
  46. import java.awt.peer.TextFieldPeer;
  47. import java.awt.peer.WindowPeer;
  48. import java.net.URL;
  49. import java.util.Hashtable;
  50. import sun.awt.image.ByteArrayImageSource;
  51. import sun.awt.image.FileImageSource;
  52. import sun.awt.image.ImageRepresentation;
  53. import sun.awt.image.URLImageSource;
  54.  
  55. public class MToolkit extends Toolkit {
  56.    static Hashtable imgHash = new Hashtable();
  57.    static ColorModel screenmodel;
  58.  
  59.    public MToolkit() {
  60.       SecurityManager.enablePrivilege("UniversalLinkAccess");
  61.       System.loadLibrary("PowerPlantAWT");
  62.       SecurityManager.revertPrivilege();
  63.       this.init();
  64.    }
  65.  
  66.    public ButtonPeer createButton(Button var1) {
  67.       return new MButtonPeer(var1);
  68.    }
  69.  
  70.    public TextFieldPeer createTextField(TextField var1) {
  71.       return new MTextFieldPeer(var1);
  72.    }
  73.  
  74.    public LabelPeer createLabel(Label var1) {
  75.       return new MLabelPeer(var1);
  76.    }
  77.  
  78.    public ListPeer createList(List var1) {
  79.       return new MListPeer(var1);
  80.    }
  81.  
  82.    public CheckboxPeer createCheckbox(Checkbox var1) {
  83.       return new MCheckboxPeer(var1);
  84.    }
  85.  
  86.    public ScrollbarPeer createScrollbar(Scrollbar var1) {
  87.       return new MScrollbarPeer(var1);
  88.    }
  89.  
  90.    public TextAreaPeer createTextArea(TextArea var1) {
  91.       return new MTextAreaPeer(var1);
  92.    }
  93.  
  94.    public ChoicePeer createChoice(Choice var1) {
  95.       return new MChoicePeer(var1);
  96.    }
  97.  
  98.    public FramePeer createFrame(Frame var1) {
  99.       return new MFramePeer(var1);
  100.    }
  101.  
  102.    public CanvasPeer createCanvas(Canvas var1) {
  103.       return new MCanvasPeer(var1);
  104.    }
  105.  
  106.    public PanelPeer createPanel(Panel var1) {
  107.       return new MPanelPeer(var1);
  108.    }
  109.  
  110.    public WindowPeer createWindow(Window var1) {
  111.       return new MWindowPeer(var1);
  112.    }
  113.  
  114.    public DialogPeer createDialog(Dialog var1) {
  115.       return new MDialogPeer(var1);
  116.    }
  117.  
  118.    public FileDialogPeer createFileDialog(FileDialog var1) {
  119.       throw new AWTError("FileDialog is unimplemented.");
  120.    }
  121.  
  122.    public MenuBarPeer createMenuBar(MenuBar var1) {
  123.       return new MMenuBarPeer(var1);
  124.    }
  125.  
  126.    public MenuPeer createMenu(Menu var1) {
  127.       return new MMenuPeer(var1);
  128.    }
  129.  
  130.    public MenuItemPeer createMenuItem(MenuItem var1) {
  131.       return new MMenuItemPeer(var1);
  132.    }
  133.  
  134.    public CheckboxMenuItemPeer createCheckboxMenuItem(CheckboxMenuItem var1) {
  135.       return new MCheckboxMenuItemPeer(var1);
  136.    }
  137.  
  138.    static synchronized Image getImageFromHash(Toolkit var0, URL var1) {
  139.       System.getSecurityManager().checkURLConnect(var1);
  140.       Image var2 = (Image)imgHash.get(var1);
  141.       if (var2 == null) {
  142.          try {
  143.             var2 = var0.createImage(new URLImageSource(var1));
  144.             imgHash.put(var1, var2);
  145.          } catch (Exception var3) {
  146.          }
  147.       }
  148.  
  149.       return var2;
  150.    }
  151.  
  152.    static synchronized Image getImageFromHash(Toolkit var0, String var1) {
  153.       System.getSecurityManager().checkRead(var1);
  154.       Image var2 = (Image)imgHash.get(var1);
  155.       if (var2 == null) {
  156.          try {
  157.             var2 = var0.createImage(new FileImageSource(var1));
  158.             imgHash.put(var1, var2);
  159.          } catch (Exception var3) {
  160.          }
  161.       }
  162.  
  163.       return var2;
  164.    }
  165.  
  166.    public Image getImage(String var1) {
  167.       return getImageFromHash(this, (String)var1);
  168.    }
  169.  
  170.    public Image getImage(URL var1) {
  171.       return getImageFromHash(this, (URL)var1);
  172.    }
  173.  
  174.    static boolean prepareScrImage(Image var0, int var1, int var2, ImageObserver var3) {
  175.       if (var1 != 0 && var2 != 0) {
  176.          MacImage var4 = (MacImage)var0;
  177.          if (((sun.awt.image.Image)var4).hasError()) {
  178.             if (var3 != null) {
  179.                var3.imageUpdate(var0, 192, -1, -1, -1, -1);
  180.             }
  181.  
  182.             return false;
  183.          } else {
  184.             if (var1 < 0) {
  185.                var1 = -1;
  186.             }
  187.  
  188.             if (var2 < 0) {
  189.                var2 = -1;
  190.             }
  191.  
  192.             ImageRepresentation var5 = var4.getImageRep(var1, var2);
  193.             return var5.prepare(var3);
  194.          }
  195.       } else {
  196.          return true;
  197.       }
  198.    }
  199.  
  200.    static int checkScrImage(Image var0, int var1, int var2, ImageObserver var3) {
  201.       MacImage var4 = (MacImage)var0;
  202.       int var5;
  203.       if (var1 != 0 && var2 != 0) {
  204.          if (var1 < 0) {
  205.             var1 = -1;
  206.          }
  207.  
  208.          if (var2 < 0) {
  209.             var2 = -1;
  210.          }
  211.  
  212.          var5 = var4.getImageRep(var1, var2).check(var3);
  213.       } else {
  214.          var5 = 32;
  215.       }
  216.  
  217.       return ((sun.awt.image.Image)var4).check(var3) | var5;
  218.    }
  219.  
  220.    public int checkImage(Image var1, int var2, int var3, ImageObserver var4) {
  221.       return checkScrImage(var1, var2, var3, var4);
  222.    }
  223.  
  224.    public boolean prepareImage(Image var1, int var2, int var3, ImageObserver var4) {
  225.       return prepareScrImage(var1, var2, var3, var4);
  226.    }
  227.  
  228.    public Image createImage(ImageProducer var1) {
  229.       return new MacImage(var1);
  230.    }
  231.  
  232.    public Image createImage(byte[] var1, int var2, int var3) {
  233.       return this.createImage(new ByteArrayImageSource(var1, var2, var3));
  234.    }
  235.  
  236.    static native ColorModel makeColorModel();
  237.  
  238.    static ColorModel getStaticColorModel() {
  239.       if (screenmodel == null) {
  240.          screenmodel = makeColorModel();
  241.       }
  242.  
  243.       return screenmodel;
  244.    }
  245.  
  246.    public ColorModel getColorModel() {
  247.       return getStaticColorModel();
  248.    }
  249.  
  250.    public Dimension getScreenSize() {
  251.       return new Dimension(this.getScreenWidth(), this.getScreenHeight());
  252.    }
  253.  
  254.    public native int getScreenResolution();
  255.  
  256.    native int getScreenWidth();
  257.  
  258.    native int getScreenHeight();
  259.  
  260.    public String[] getFontList() {
  261.       String[] var1 = new String[]{"Dialog", "Helvetica", "TimesRoman", "Courier", "Symbol"};
  262.       return var1;
  263.    }
  264.  
  265.    public FontMetrics getFontMetrics(Font var1) {
  266.       return MacFontMetrics.getFontMetrics(var1);
  267.    }
  268.  
  269.    public native void init();
  270.  
  271.    public void sync() {
  272.    }
  273. }
  274.